page.tsx 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. "use client";
  2. import { DailyCompensateInfo, getDailyCompensateInfo } from "@/api/activity";
  3. import CustomButton from "@/components/CustomButton";
  4. import { VipProgressMap } from "@/enums";
  5. import useCountdown from "@/hooks/useCountdown";
  6. import { useVipStore } from "@/stores/useVipStore";
  7. import clsx from "clsx";
  8. import React from "react";
  9. import styles from "./page.module.scss";
  10. const Page = () => {
  11. const { vipData } = useVipStore();
  12. const [_, formattedRes] = useCountdown({ leftTime: 3000 * 1000 });
  13. const [data, setData] = React.useState<DailyCompensateInfo>();
  14. console.log(VipProgressMap);
  15. React.useEffect(() => {
  16. getData();
  17. }, []);
  18. const getData = async () => {
  19. const res = await getDailyCompensateInfo();
  20. if (res?.code === 200) {
  21. setData(res.data);
  22. }
  23. };
  24. return (
  25. <>
  26. <div className={styles.top}>
  27. <div className="flex-1">
  28. <div>
  29. <span className="text-[18px] font-black">Atualmente</span>
  30. <span className="text-[22px] font-black">VIP 0</span>
  31. </div>
  32. <div className="text flex w-fit rounded-[6px] bg-[#00000026] px-[8px] py-[2px] text-[14px]">
  33. Taxa de Resgate 0.1%
  34. <span className="ml-[6px]">(1%)</span>
  35. </div>
  36. <div className="flex flex-row items-center gap-[6px] text-[var(--textColor1)]">
  37. <span className="">Próximo</span>
  38. <span className="text-[22px] font-black">VIP 0</span>
  39. </div>
  40. <div data-v-7e453f88="" className="text-[14px] text-[var(--textColor1)]">
  41. Taxa de Resgate 0.1%{" "}
  42. <span data-v-7e453f88="" className="pl-[6px]">
  43. (1%)
  44. </span>
  45. </div>
  46. </div>
  47. <div className="w-[32%]">
  48. <img
  49. src={VipProgressMap.get(data?.vip_level || 0)?.icon}
  50. className="relative -top-[10px] scale-[1.5] transform"
  51. alt=""
  52. />
  53. <img src="/vipIcon/vip_tuodi_bg.webp" alt="" />
  54. </div>
  55. </div>
  56. <div className="p-[10px]">
  57. <div className="flex flex-col items-center gap-[8px] rounded-[var(--borderRadius)] bg-[var(--main-background)] p-[15px] text-[12px]">
  58. <div className="w-full">Perdas de ontem R$ 0,00</div>
  59. <div className="text-[18px] font-black text-[var(--textColor4)]">Cashback</div>
  60. <div className="flex w-full flex-row items-center justify-center gap-[8px] text-[22px] font-black text-[var(--textColor4)]">
  61. R$ 0,00 / R$ 0,00
  62. </div>
  63. <CustomButton className="mt-[8px] w-full">Unopened</CustomButton>
  64. </div>
  65. <div className="mt-[10px] flex w-full flex-col items-center justify-center gap-[5px] rounded-[var(--borderRadius)] bg-[var(--primary7)] py-[4px] text-[13px]">
  66. <div className="flex w-full flex-row items-center justify-center gap-[5px] text-[13px]">
  67. <i className="iconfont icon-gantanhao text-[red]"></i>
  68. <span>Recebimento previsto para amanhä:</span>
  69. </div>
  70. <div className="text-num text-[22px] font-black">
  71. R$0,00 <span className="font-normal">/ R$0,00</span>
  72. </div>
  73. <span className="flex flex-row items-center justify-center gap-[5px] text-[12px] text-[var(--textColor4)]">
  74. <i className="iconfont icon-daojishi-hui !text-[13px]"></i>
  75. <div className="countdownTimer needsclick flex flex-row items-center justify-center gap-[1px]">
  76. <span className="text-[var(--textColor1)]">{formattedRes.hours}</span>:
  77. <span className="text-[var(--textColor1)]">{formattedRes.minutes}</span>
  78. :
  79. <span className="text-[var(--textColor1)]">{formattedRes.seconds}</span>
  80. </div>
  81. </span>
  82. </div>
  83. <div
  84. className={clsx(
  85. "mt-[.1rem] flex flex-col gap-[8px] rounded-[var(--borderRadius)] bg-[var(--primary13)] p-[15px] text-[12px] font-normal"
  86. )}
  87. >
  88. <span>1. Resgate= perdas no jogo x taxa de reembolso do nivel nobre.</span>
  89. <span>
  90. 2. Se o usuário não resgatar o resgate hoje, será consideradocomo renúncia.
  91. </span>
  92. <span>3. O horário de liquidação é à mela-noite, horarlo do Brasil.</span>
  93. <span>
  94. 4. Se vocé não fizer apostas durante o periodo de reembolso em dinheiro, ou
  95. se seus lucros de ontem cobrirem suas perdas, vocé não receberá o reembolso
  96. em dinheiro.
  97. </span>
  98. <span>
  99. 5. Cada pessoa tem urm limite diario de reembolso em dinheiro de até R$
  100. 10.000
  101. </span>
  102. </div>
  103. <div className="mt-[.1rem] flex flex-col gap-[8px] rounded-[var(--borderRadius)] bg-[var(--primary13)] p-[15px] text-[12px] font-normal">
  104. <div className={clsx("flex items-center py-[.08rem]")}>
  105. <div className="flex-1 text-center">Nivel Upgrade</div>
  106. <div className="flex-1 text-center">Taxa de Resgate</div>
  107. </div>
  108. <div className="flex items-center py-[.08rem]">
  109. <div className="flex-1 text-center">Nivel Upgrade</div>
  110. <div className="flex-1 text-center">Taxa de Resgate</div>
  111. </div>
  112. <div className="flex items-center py-[.08rem]">
  113. <div className="flex-1 text-center">Nivel Upgrade</div>
  114. <div className="flex-1 text-center">Taxa de Resgate</div>
  115. </div>
  116. <div className="flex items-center py-[.08rem]">
  117. <div className="flex-1 text-center">Nivel Upgrade</div>
  118. <div className="flex-1 text-center">Taxa de Resgate</div>
  119. </div>
  120. <div className="flex items-center py-[.08rem]">
  121. <div className="flex-1 text-center">Nivel Upgrade</div>
  122. <div className="flex-1 text-center">Taxa de Resgate</div>
  123. </div>
  124. </div>
  125. </div>
  126. </>
  127. );
  128. };
  129. export default Page;